﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Torneo.Entidades;
using Torneo.DataAccess;
using System.Data;

namespace Torneo.Repository
{
    public class ResultadoRepository : IResultadoRepository
    {
        private TorneoDbContext _context;

        public ResultadoRepository(TorneoDbContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("Null Context");
            }

            this._context = context;
        }

        public void AgregarResultado(Resultado resultado)
        {          
            _context.Resultados.Add(resultado);
            _context.SaveChanges();
        }
        
        public Resultado ObtenerResultado(Emparejamiento emparejamiento)
        {
            return _context.Resultados.SingleOrDefault(x => x.Emparejamiento == emparejamiento);
        }

        public void ModificarResultado(Resultado resultado)
        {
            _context.Resultados.Attach(resultado);
            _context.Entry(resultado).State = EntityState.Modified;
            _context.SaveChanges();
        }
        public List<Resultado> ObtenerTodos()
        {
            return _context.Resultados.Include("Emparejamiento").Include("Ganador").ToList();
        }
    }
}
